﻿using System;
using System.Collections.Generic;

namespace E.Model
{
    [Serializable]
    public class SurveyOptionModel
    {
        public int ID { get; set; }
        public int CategoryID { get; set; }
        public string CategoryName { get; set; }
        public string Name { get; set; }
    }
    [Serializable]
    public class SearchSurveyOptionModel
    {
        public int CategoryID { get; set; }
        public string Name { get; set; }
    }

    [Serializable]
    public class SurveyOptionListModel
    {
        public int TotalCount { get; set; }
        public IList<SurveyOptionModel> List { get; set; }
    }

    [Serializable]
    public class SurveySettingModel
    {
        public int ID { get; set; }
        public int CID { get; set; }
        public string CName { get; set; }
        public IList<int> OptionIDList { get; set; }
        public string[] OptionIDStrList { get; set; }
    }

    [Serializable]
    public class CourseSurveyModel
    {
        public int ID { get; set; }
        public int CourseID { get; set; }
        public string CourseName { get; set; }
        public string TeacherName { get; set; }
        public IList<SurveyCategoryAndOptionModel> OptionList { get; set; }
    }

    [Serializable]
    public class CertificateSurveyModel
    {
        public int ID { get; set; }
        public string CertificateName { get; set; }
        public IList<SurveyCategoryAndOptionModel> OptionList { get; set; }
    }

    [Serializable]
    public class SurveyCategoryAndOptionModel 
    {
        public int ID { get; set; }
        public string CategoryName { get; set; }
        public IDictionary<int, string> OptionList { get; set; }
    }

    [Serializable]
    public class CertificateSurveyReportModel
    {
        public int ID { get; set; }
        public string CertificateName { get; set; }
        public IList<SurveyCategoryAndOptionModel> OptionList { get; set; }
        public IDictionary<string, string> VoteList { get; set; }
    }

    [Serializable]
    public class SurveyLogModel
    {
        public int SurveyID { get; set; }
        public int UserID { get; set; }
        public string SurveyContent { get; set; }
        public string Comment { get; set; }
        public DateTime SubmitTime { get; set; }
    }

    [Serializable]
    public class CourseAnalysisSearchModel
    {
        public int TeacherID { get; set; }
        public string TeacherName { get; set; }
        public string ClassCode { get; set; }
        public int CourseID { get; set; }
        public int AreaID { get; set; }
    }

    [Serializable]
    public class CourseSurveyReportModel
    {
        public int ID { get; set; }
        public int ClassID { get; set; }
        public int CourseID { get; set; }
        public string CourseName { get; set; }
        public string TeacherName { get; set; }
        public string ClassCode { get; set; }
        public string AreaName { get; set; }
        public int CurrentCount { get; set; }
        public IList<SurveyCategoryAndOptionModel> OptionList { get; set; }
        public IDictionary<string, string> VoteList { get; set; }
    }
}
